Android – 初识自定义View

前言

一直都想学习自定义View,之前也立Flag决心要学习,但是网上的视频资料都过于老套,最重要的是杂乱无章,然后就认为很难很深奥,没法循序渐进的学习这个知识点,然后就搁置了。今天看到一个公众号的分享,连载六篇文章,逐步学习自定义View,我只能说两个字:牛批!

强力推荐:http://hencoder.com/ui-1-1/

自定义绘制知识的四个级别

  1. Canvas 的 drawXXX() 系列方法以及 Paint 最常见的使用
  2. Paint 的完全攻略
  3. Canvas 对绘制的辅助 — 范围裁切和几何变换
  4. 使用不同的绘制方法来控制绘制顺序

先写一个简单的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//设置画笔抗锯齿
mPaint.setAntiAlias(true);
//设置画笔颜色,就是绘制内容的颜色
mPaint.setColor(Color.BLACK);
//设置绘制模式为画线模式
mPaint.setStyle(Paint.Style.STROKE);
//设置线条宽度
mPaint.setStrokeWidth(20);
//绘制一个圆,参数以此是:圆心X坐标,圆心Y坐标,圆的半径,画笔。
canvas.drawCircle(100, 100, 50, mPaint);
//把整个画布区域填充为半透明红色
canvas.drawColor(Color.parseColor("#88880000"));
}

绘制模式setStyle()具体来说有三种:FILL、STROKE 和 FILL_AND_STROKE。FILL 是填充模式,STROKE 是画线模式,FILL_AND_STROKE 是两种模式一并使用。默认模式是填充模式。当在 FILL 和 FILL_AND_STROKE 模式下,可以通过 setStrokeWidth(像素值) 来设置线条的宽度。

emmmm,看完了八篇,感觉中间几篇用不到耶,学到的还是蛮多的,毕竟敢于面对自定义View了。自定义View的绘制部分算是讲完了,期待后面的布局和触摸反馈系列吧。相信学完之后就能:

我们一直都向往,面朝大海,春暖花开。 但是几人能做到,心中有爱,四季不败?